Update Readme.md
[EroSomnia.git] / Point and Click Game1 / OpeningItems.h
blob37c6d8277242088fe19b7522538e0b311f4c32c6
1 #pragma once
2 #include "graphics.h"
3 #include "SFX.h"
5 #include <stdarg.h>
7 class OpeningItems
10 friend class boost::serialization::access;
12 template<class Archive>
13 void serialize(Archive &ar, const unsigned int vers) {
14 ar& StartSFX;
15 ar& logoEC;
16 ar& logo2;
17 ar& white;
19 public:
20 OpeningItems(){
24 OpeningItems(Texture* n_args, ...) {
27 void saveOpeningItems() {
28 std::fstream file;
29 file.open("data/op.rave", std::ios::binary | std::fstream::out);
30 boost::archive::binary_oarchive archive(file);
31 archive << this;
32 file.close();
34 static OpeningItems loadOpeningItems() {
35 std::fstream file;
36 OpeningItems *oi;
37 OpeningItems oiCopy;
38 file.open("data/op.rave", std::ios::binary | std::fstream::in);
39 if (file.is_open()) {
40 boost::archive::binary_iarchive archive(file);
41 archive >> oi;
42 oiCopy = *oi;
44 else {
45 std::cout << "Opening items NOT FOUND";
46 oi = new OpeningItems();
47 oiCopy = *oi;
49 file.close();
50 return oiCopy;
53 SFX* StartSFX;
54 Texture* logoEC;
55 Texture* logo2;
56 Texture* white;
58 void configureLibrary(SDL_Renderer* r, SDL_Window * w) {
59 StartSFX->loadFromByteArray();
60 logoEC->loadFromByteArray(r, w);
61 logo2->loadFromByteArray(r, w);
62 white->loadFromByteArray(r, w);
65 void clearLibrary() {
66 StartSFX->clearSFX();
67 logoEC->clearTexture();
68 logo2->clearTexture();
69 white->clearTexture();